/**
 * @brief    连接单元辅助类
 * 
 * @version  0.1
 * @author   wanghuan
 * @date     2025.08.14
 * @copyright Copyright (c) 2025
 */


#pragma once
#include <map>
#include <memory>
#include "DataStructure/Common/Real.h"
#include "DataStructure/Common/Id.h"
#include "DBManager/DBServiceFactory.h"
#include "SGFem/ShellSecCalculator/ShellSectionParser.h" // 截面厚度解析
#include "SGFem/ElementCalculator/Common/ElementCalculatorExport.h"
#include "../Common/ConnectElementExport.h"

SG_FEMSOLVER_ELEMENT_NAMESPACE_OPEN


class ConnectElementHleper
{
public:
    ConnectElementHleper ();
    ~ConnectElementHleper ();
    SG::DataStructure::Common::Real ComputeShellSecThickness (const SG::DBManager::DBServiceFactorySP dbServiceFactory, SG::DataStructure::Common::Id pId);

private:
    std::map<SG::DataStructure::Common::Id, SG::DataStructure::Common::Real> m_ThicknessTable;
    std::shared_ptr<SG::FEMSolver::Element::ShellSectionParser> m_parser;
    
};

SG_FEMSOLVER_ELEMENT_NAMESPACE_CLOSE